Korki drogowe

Szymon Malec, Viktoriia Morhun

Spis treści

Wstęp

Ruch uliczny wzrasta w ostatnich latach bardzo szybko, co potwierdzają wyniki Generalnego Pomiaru Ruchu przeprowadzanego co pięć lat przez GDDKiA. W ciągu ostatnich pięciu lat średni dobowy ruch w Polsce wzrósł aż o 21% [1]. Dynamicznie rozwijające się miasta takie, jak Wrocław, gdzie cały czas powstają nowe osiedla i przybywa mieszkańców, muszą radzić sobie ze wzrastającym natężeniem na drogach. To zmusza władze do budowania nowych dróg, rozwijania komunikacji miejskiej (by odciągnąć ludzi od samochodów) czy wprowadzania inteligentnych systemów sygnalizacji świetlnej. Postanowiliśmy przyjrzeć się problemowi oraz prawom, którymi rządzą się korki drogowe, by następnie przenieść nasze obserwacje na równania matematyczne w celu przewidzenia długości takich korków. Tak udało nam się sformułować dwa modele, które następnie zastosowaliśmy do jednej z wrocławskich ulic.

Podstawowy model

Zanim wyprowadzimy równanie opisujące długość korka, zastanówmy się, kiedy powstaje korek drogowy i jakie są tego przyczyny. Potrzebne będzie nam do tego kilka podstawowych pojęć związanych z tematem:

Korek tworzy się wtedy, gdy w jakimś punkcie na drodze znajduje się lub pojawia się coś, co spowalnia ruch (zmniejsza przepustowość w tym punkcie), przy czym przepustowość musi być mniejsza od natężenia tzn. ilość aut dojeżdżających musi być większa od aut odjeżdżających.

Przykłady miejsc/sytuacji, w których tworzą się korki:

Do ułożenia równania opisującego długość korka w czasie przydatne okazuje się być porównanie samochodów do płynu. Koncept gęstości ruchu i porównania korka do płynu zaczerpnęliśmy z [2]. By było to możliwe, musimy założyć, że wszystkie auta w korku ruszają jednocześnie, bez opóźnienia. Wtedy korek będzie zachowywał się podobnie do płynu. Drogę interpretujemy jako pionowy kanał, którym płynie woda z prędkością $v_{śr}$. W pewnym momencie kanał ten zostaje częściowo zatkany. Gęstość w tym przypadku oznacza procent wypełnienia kanału wodą podczas swobodnego przepływu, natężenie - ilość dopływającej wody, a przepustowość - ilość wody, która przepływa przez miejsce zatkania. Długością korka będzie poziom wody w kanale od miejsca zatkania - oznaczmy $L$. Jeśli $L(t)$ będzie opisywało poziom wody (długość korka) w czasie, to $L'(t)$ będzie prędkością z jaką ten poziom (korek) rośnie.

Ponieważ prędkość płynącej wody $v_{śr}$ oraz prędkość poziomu wody $L'$ mają przeciwne zwroty, to przyrost tego poziomu spowodowany dopłynięciem nowej wody w momencie $t$ będzie wynosił $ \left( v_{śr} + L' \right) g(t) $. Odejmując od tego przepustowość $p(t)$, otrzymamy równanie na przyrost poziomu wody: $$ L' = \left( v_{śr} + L' \right) g(t) - p(t). $$ Tak przy pomocy odpowiedniego porównania udało nam się otrzymać równanie różniczkowe opisujące długość korka. Następnie po przekształceniu otrzymamy $$ L' = \frac{v_{śr} g(t) - p(t)}{1 - g(t)}. $$ Rozwiązując równanie dostajemy $$ L(t) = L_{0} + \int_{0}^{t} \frac{v_{śr} g(t) - p(t)}{1 - g(t)} \mathrm{d}t, $$ gdzie $L_{0}$ - początkowy korek.

Istotnym założeniem jest tutaj to, że $L \geq 0$, co oznacza, że nie każde równanie będzie dało się rozwiązać analitycznie. Będzie to możliwe tylko w przypadku, gdy korek utrzymuje się cały czas i jego długość nie spada poniżej zera. W innym przypadku trzeba wykorzystać metody numeryczne.

Rozszerzenie modelu o czas reakcji kierowcy

Poprzednie równanie opisywało długość korka przy założeniu, że wszystkie auta ruszają jednocześnie. Z doświadczenia wiemy, że w rzeczywistości jest inaczej. Auta ruszają jedno za drugim z pewnym opóźnieniem, które nazywać będziemy czasem reakcji. W wyniku tego powstaje zjawisko przypominające falę, którą z kolei nazwiemy falą drogową.

Żeby lepiej zrozumieć to zjawisko rozpatrzmy przykład. Z powodu czerwonych świateł utworzył się korek. Gdy pojawia się zielone światło, pierwsze auto rusza, następnie po czasie reakcji rusza kolejne itd. Powstaje wcześniej wspomniana fala, która porusza się z jakąś prędkością $v_f$. Ostatnie auto ruszy dopiero, gdy fala ta dotrze do niego, czyli pokona odległość równą długości korka. Widzimy zatem, że korek skróci się po pewnym czasie $\Delta t$ od zapalenia się zielonych świateł.

Ponieważ czas $\Delta t$ to czas w jakim fala drogowa poruszająca się ze stałą predkością $v_f$ pokona długość korka $L$, to $$\Delta t = \frac{L}{v_f}.$$ Wtedy przepustowość w momencie $t$ będzie równa $p(t - \Delta t) = p\left(t - \frac{L}{v_f}\right)$.

Rozważmy teraz przypadek, w którym w momencie $t = 0$ utworzył się korek o długości $L_0$ oraz natężenie od tego momentu jest zerowe. Mamy jedynie przepustowość $p(t - \frac{L}{v_f})$. Wtedy długość korka można opisać równaniem $$ L(t) = L_0 - \int_{0}^{\gamma}p(\tau) \mathrm{d}\tau, $$ gdzie $\gamma = t - \frac{L}{v_f}$. Po zróżniczkowaniu obustronnie względem $\gamma$ otrzymujemy $$ \frac{\mathrm{d}L}{\mathrm{d}\gamma} = - p(\gamma). $$ Następnie domnażamy $\frac{\mathrm{d}\gamma}{\mathrm{d}t}$ i upraszczamy: $$ \frac{\mathrm{d}L}{\mathrm{d}\gamma} \frac{\mathrm{d}\gamma}{\mathrm{d}t} = - p(\gamma) \frac{\mathrm{d}\gamma}{\mathrm{d}t}, $$ $$ \frac{\mathrm{d}L}{\mathrm{d}t} = - p(\gamma) \frac{\mathrm{d}}{\mathrm{d}t} \left(t - \frac{L}{v_f}\right), $$ $$ L' = - \left(1 - \frac{L'}{v_f}\right) p\left(t - \frac{L}{v_f}\right). $$ W ten spośob otrzymaliśmy postać, jaką ma przepustowość w modelu z opóźnieniem. Teraz możemy sformułować pełne równanie zawierające natężenie oraz przepustowość. Ponieważ opóźnienie $\Delta t$ nie wpływa na przyrost nowych samochodów, będzie on taki sam, jak w pierwszym modelu tj. $ \left( v_{śr} + L' \right) g(t) $. Zatem równanie opisujące długość korka będzie mieć postać $$ L' = \left( v_{śr} + L' \right) g(t) - \left(1 - \frac{L'}{v_f}\right) p\left(t - \frac{L}{v_f} \right). $$ Po przekształceniu otrzymujemy $$ L' = \frac{v_{śr} g(t) - p\left(t - \frac{L}{v_f}\right)}{1 - g(t) - \frac{1}{v_f} p \left(t - \frac{L}{v_f} \right)}. $$ Należy tutaj zaznaczyć, że poza założeniem $L \geq 0$, dochodzi tutaj jeszcze jedno istotne założenie tj. $L' \leq v_f$ wynikające stąd, że gdyby $L' > v_f$, to $$ \left( 1 - \frac{L'}{v_f} \right) < 0, $$ a wtedy $$ \left(1 - \frac{L'}{v_f}\right) p\left(t - \frac{L}{v_f} \right) < 0, $$ co byłoby sprzeczne, ponieważ przepustowość nie może być ujemna.

Dopasowanie modelu do rzeczywistej sytuacji

Szczegóły badanej drogi

Najważniejszą częścią naszego projektu było zastosowanie przedstawionych modeli do prawdziwej sytuacji. Przyjrzeliśmy się zatem najbardziej zakorkowanym ulicom we Wrocławiu. Miejscem, które wydało nam się najbardziej odpowiednie do zamodelowania jest most Pokoju oraz fragment ulicy Wyszyńskiego. Na poniższych zdjęciach możemy zobaczyć, jak wygląda wspomniane miejsce oraz który odcinek badamy.

Długość badanej drogi wynosi ok. 416m, co zmierzyliśmy za pomocą Map Google. Droga składa się z dwóch głównych pasów oraz z dwóch dodatkowych (przeznaczonych do jazdy w prawo i w lewo), które znajdują się już przy samych światłach. Na całej długości odcinka nie pojawia się żaden zjazd ani nic, co mogłoby spowalniać ruch (np. przejście dla pieszych). Czas, przez który świeci się światło zielone i czerwone jest nieregularny ze względu na zastosowany we Wrocławiu system ITS (Intelligent Transport System), który analizuje ruch uliczny i dopasowuje czas świateł do sytuacji. Postanowiliśmy zatem zbadać, jaki stosunek musi zachować światło zielone do czerwonego, by długość korka nie przekroczyła długości badanego odcinka. Aby nasz model jak najlepiej oddawał rzeczywistość, wykonaliśmy serię niezbędnych pomiarów.

Pomiary

Prędkość średnia samochodów

By otrzymać prędkość średnią, mierzyliśmy czas jaki zajmowało samochodowi pokonanie odcinka od pasów na początku drogi do początku mostu. Następnie podzieliliśmy długość tego odcinka, która wynosi 114m, przez średni czas i dostaliśmy $v_{śr} \approx 11,12\frac{\mathrm{m}}{\mathrm{s}}$.

Długość samochodu

W celu odnalezienia długości średniej samochodu wraz z odstępem, liczyliśmy ile aut stojących w korku na jednym z pasów mieści się na odcinku od świateł do mostu, po czym podzieliliśmy długość tego odcinka (180m) przez średnią liczbę aut.

Otrzymany wynik dzielimy jeszcze przez dwa ze względu na dwa pasy ruchu, stąd $r \approx 3,58\mathrm{m}$.

Prędkość fali drogowej

Aby znaleźć prędkość tej fali, mierzyliśmy czas od momentu ruszenia pierszego samochodu w korku do momentu ruszenia ostatniego samochodu znajdującego się na odcinku od świateł do mostu. Następnie z otrzymanych pomiarów wyliczyliśmy czas średni i podzieliliśmy długość odcinka przez ten czas.

A zatem $v_f \approx 6,3 \frac{\mathrm{m}}{\mathrm{s}}$.

Gęstość

Gęstość zmierzyliśmy licząc ilość aut wjeżdżających na badany odcinek w ciągu kolejnych 20-minututowych okresów czasu od godz. 14.00 do 18.00. Wybraliśmy te godziny, ponieważ jest to pora, o której ma miejsce największy ruch, a miasto jest najbardziej zakorkowane. Następnie, korzystając ze wzoru na gęstość, otrzymaliśmy poniższe dane:

Korzystając z biblioteki LsqFit dostępnej w Julii, udało nam się dopasować krzywą do danych. Jako funkcję bazową przyjęliśmy $$ g(t) = \alpha \cdot \mathrm{sin}(\omega t + \beta) + \delta, $$ gdzie $\alpha, \omega, \beta, \delta$ są szukanymi parametrami.

Z wykresu widzimy jak gęstość zmienia się w godzinach szczytu.

Przepustowość

Przepustowość otrzymaliśmy licząc ilość aut przejeżdżających na zielonym świetle, dzieląc przez ten czas oraz domnażając $r$ (według wzoru na $p$).

Otrzymany wynik dotyczy oczywiście przepustowości podczas światła zielonego. Podczas gdy świeci się światło czerwone, wynosi ona zero.

Model podstawowy

Załóżmy, że łączny czas światła zielonego i czerwonego to 100s. Niech $T_Z$ - czas światła zielonego, $T_C$ - czas światła czerwonego, czyli $T_Z + T_C = 100\mathrm{s}$.

Wyniki pomiarów podstawiliśmy do pierwszego modelu, czyli $$ L' = \frac{v_{śr} g(t) - p(t)}{1 - g(t)}, $$ gdzie $$ g(t) = \alpha \cdot \mathrm{sin}(\omega t + \beta) + \delta $$ ($\alpha, \omega, \beta, \delta$ takie jak dostaliśmy w 4.2.4), $$ p(t) = \left\{ \begin{array}{lrl} 3,734 & \mathrm{dla} & 100n < t \leq 100n + T_Z \\ 0 & \mathrm{dla} & 100n + T_Z < t \leq 100(n+1) \\ \end{array} \right. , \hspace{0.5cm} n \in \mathbb{N}. $$ Spodziewamy się, że długość korka może spaść poniżej zera, a więc, żeby uniknąć sprzeczności, do wyliczenia rozwiązania skorzystamy z metod numerycznych, a konkretnie z metody Eulera niejawnej, czyli $$ L_n = L_{n-1} + a \cdot L'(t_{n}), $$ gdzie $t_n = 0,1n [ \mathrm{s} ],\ \ \ n = 1, 2, ...$
$a = t_n - t_{n-1} = 0,1\mathrm{s}$.

Pryjmijmy $L_0 = 0$. W kodzie uwzględnimy warunek, że $L \geq 0$.

Rozwiążemy równanie dla różnych wartości $T_Z$, by sprawdzić jaki musi być minimalny czas światła zielonego, by długość korka nie przekroczyła długości drogi (416m).

Sprawdźmy, jak wyglądają wykresy dla $T_Z = 37.4\mathrm{s}$ i $T_Z = 37.5\mathrm{s}$.

Widzimy, że dla $T_Z = 37.4$ korek wykroczył już poza ulicę. Zatem według tego modelu światło zielone musi świecić się przez przynajmniej 37,5s. Czyli stosunek światła zielonego do czerwonego wynosi $$ \frac{T_Z}{T_C} = \frac{37,5}{62,5} = 0,6. $$

Model z opóźnieniem

Przypomnijmy równanie tego modelu: $$ L' = \frac{v_{śr} g(t) - p\left(t - \frac{L}{v_f}\right)}{1 - g(t) - \frac{1}{v_f} p \left(t - \frac{L}{v_f} \right)}. $$ Funkcje $g$ i $p$ są takie, jak w poprzednim podpunkcie.

Do rozwiązania tego równania skorzystaliśmy z metody Eulera jawnej, czyli $$ L_n = L_{n-1} + a \cdot \frac{v_{śr} \cdot g(t_{n-1}) - p\left(t_{n-1} - \frac{L_{n-1}}{v_f}\right)}{1 - g(t_{n-1}) - \frac{1}{v_f} p \left(t_{n-1} - \frac{L_{n-1}}{v_f} \right)}, $$ gdzie
$t_n = 0,1n [ \mathrm{s} ],\ \ \ n = 1, 2, ...$
$a = t_n - t_{n-1} = 0,1\mathrm{s}$.

Ponownie przyjmijmy $L_0 = 0$ i rozwiążmy równanie dla różnych wartości $T_Z$.

Sprawdźmy, jak wyglądają wykresy dla $T_Z = 37.7\mathrm{s}$ i $T_Z = 37.8\mathrm{s}$.

Widzimy, że dla $T_Z = 37.7$ korek wykroczył już poza ulicę. Zatem według modelu drugiego światło zielone musi świecić się przez przynajmniej 37,8s. Czyli stosunek światła zielonego do czerwonego wynosi $$ \frac{T_Z}{T_C} = \frac{37,8}{62,2} \approx 0,6077. $$

Obserwacje i wnioski

Porównując obydwa modele, zauważamy, że ich wyniki różnią się nieznacznie, co oznacza, że fala drogowa nie ma w tym przypadku znaczącego wpływu na długość korka. W obu przypadkach stosunek światła zielonego do czerwonego wynosi w przybliżeniu 3:5. Żeby porównać nasze wyniki z rzeczywistością, wykonaliśmy kilka pomiarów czasu świateł.

Okazuje się, że nasz wynik jest dość zbliżony do rzeczywistości, choć żeby mieć więcej pewności, należałoby wykonać znacznie więcej pomiarów ze względu na nieregularny czas świateł.

Korek na autostradzie

Załóżmy, że na autostradzie dwupasmowej zostaje utworzone zwężenie drogi do jednego pasa ruchu (np. z powodu robót drogowych). Skutkiem tego przepustowość się zmniejsza, a ponieważ natężenie na autostradzie jest z reguły duże i najprawdopodobniej większe od przepustowości, to zaczyna tworzyć się korek. Rozpatrzmy taką sytuację na odcinku autostrady A4 od Kątów Wrocławskich do Pietrzykowic (10 106 km). Na polskiej stronie rządowej można znaleźć dane z Generalnego Pomiaru Ruchu 2020/2021 dotyczące średniego dobowego ruchu rocznego na tym odcinku [3].

Z poprzednich pomiarów do obliczeń wykorzystamy średnią długość samochodu $r = 3,58 \mathrm{m}$ oraz prędkość fali drogowej $ v_f = 6,3 \frac{\mathrm{m}}{\mathrm{s}} $, ponieważ wartości te są dość uniwersalne. Na autostradzie w znacznej ilości pojawiają się także inne pojazdy, więc będziemy liczyć je w następujący sposób:

Jeżeli teraz policzymy średnią długość pojazdu, dostaniemy $r_{śr} = 4,68\mathrm{m}$.

Przyjmijmy $v_{śr} = 120 \frac{\mathrm{km}}{\mathrm{h}} = 33,33\frac{\mathrm{m}}{\mathrm{s}} $.
$t = 24 \mathrm{h} = 86400\mathrm{s}$.
Policzmy teraz gęstość:

Zakładamy, że gestość jest stała i równa $g$. Podobnie jest w przypadku przepustowości. Przyjmijmy, że przez zwężenie przejeżdża jeden pojazd na 2 sekundy, czyli:

Mając już wszystkie potrzebne dane, podstawiamy do pierwszego modelu.

$L'$ jest stałe, a więc $L(t)$ będzie funkcją liniową: $L(t) \approx 1,181t$.

Podobnie będzie dla drugiego modelu:

Zatem $ L(t) \approx 2,015t $.

Zobaczmy, jak wyglądają wykresy obydwu rozwiazań dla jednej godziny.

Widzimy, że korek w pierwszym modelu osiągnął długość ponad 4km, a w drugim ponad 7km, czyli znacznie więcej. Długość korka według drugiego modelu jest 1,69 razy większa od tej otrzymanej z pierwszego modelu. Zauważamy zatem, jak duży wpływ na długość korka na autostradzie ma uwzględnione w drugim modelu opóźnienie.

Podsumowanie i wnioski

Wyprowadziliśmy dwa równania, które następnie, po dopasowaniu do prawdziwej sytuacji, rozwiązaliśmy za pomocą metod numerycznych. Wyniki okazały się być zbliżone do rzeczywistości, co potwierdza, że przedstawione modele mogą mieć zastosowanie w modelowaniu korków drogowych. W szczególności model drugi, który uwzględnia opóźnienie w ruszaniu kolejnych samochodów. Z przeprowadzonych badań dowiedzieliśmy się także, jak ogromny wpływ na tworzenie się korka ma choćby niewielka zmiana czasów świateł zielonego i czerwonego na skrzyżowaniu z sygnalizacją.

Literatura i inne źródła